package com.hex.ds.hdtp.core.app.data.table.converter;

import com.hex.ds.hdtp.core.app.data.table.dto.request.TableTransferTaskRequestDto;
import com.hex.ds.hdtp.core.app.data.table.dto.response.TableTransferTaskResponseDto;
import com.hex.ds.hdtp.core.inf.data.table.po.TableTransferTaskPo;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * @Package com.hex.ds.hdtp.core.app.data.table.converter
 * @ClassName ITableTransferTaskConverter
 * @Description 表迁移任务-DTO对象转PO对象转换器
 * @Author Wang zhihao
 * @Date 2023/8/8 18:51
 * @Version v1.0
 **/
@Mapper(componentModel = "spring")
public interface ITableTransferTaskConverter {

    /**
     * @Method toTableTransferTaskPo
     * @Param
     * @param tableTransferTaskRequestDto
     * @Return com.hex.ds.hdtp.core.inf.data.table.po.TableTransferTaskPo
     * @Description RequestDto对象转Po对象
     * @Author Wang zhihao
     * @Date 2023/8/8 19:29
     * @Version V1.0
     */
    TableTransferTaskPo toTableTransferTaskPo(TableTransferTaskRequestDto tableTransferTaskRequestDto);

    /**
     * @Method toTableTransferTaskResponseDtoList
     * @Param
     * @param tableTransferTaskPos
     * @Return java.util.List<com.hex.ds.hdtp.core.app.data.table.dto.response.TableTransferTaskResponseDto>
     * @Description PO对象集合转换ResponseDto对象集合
     * @Author Wang zhihao
     * @Date 2023/8/8 19:30
     * @Version V1.0
     */
    List<TableTransferTaskResponseDto> toTableTransferTaskResponseDtoList(List<TableTransferTaskPo> tableTransferTaskPos);

    /**
     * @Method toTableTransferTaskResponseDto
     * @Param 
     * @param tableTransferTaskPo 
     * @Return com.hex.ds.hdtp.core.app.data.table.dto.response.TableTransferTaskResponseDto
     * @Description PO对象转换ResponseDto对象
     * @Author Wang zhihao
     * @Date 2023/8/13 22:28
     * @Version V1.0
     */
    TableTransferTaskResponseDto toTableTransferTaskResponseDto(TableTransferTaskPo tableTransferTaskPo);
}
